#include<iostream>
#include<vector>
#include<cstring>
#define mod 80112002
using namespace std;
vector<int>a[5010];
int f[5010];
int oud[5010],ind[5010];
int dfs(int x){
    if(f[x]!=0)return f[x];
    int tmp=0;
    for(int i=0;i<a[x].size();i++){
        tmp=(tmp+dfs(a[x][i]))%mod;
    }
    f[x]=tmp;
    return f[x];
}
int main(){
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=m;i++){
        int x,y;
        cin>>x>>y;
        a[y].push_back(x);
        ind[y]++;
        oud[x]++;
    }
    for(int i=1;i<=n;i++){
        if(ind[i]==0)f[i]=1;
    }
    for(int i=1;i<=n;i++){
        dfs(i);
    }
    long long ans=0;
    for(int i=1;i<=n;i++){
        if(oud[i]==0)ans=(ans+f[i])%mod;
    }
    cout<<ans;
    return 0;
}